home *** CD-ROM | disk | FTP | other *** search
- /**
- Use classpath mapping to determine the source of the specified class
- file. (Like the Unix which command for executables).
- <p/>
-
- This command maps the entire classpath and prints all of the occurrences
- of the class. If you just want to find the first occurrence in the
- classpath (the one that will be used by Java) you can also get it by
- printing the URL of the resource. e.g.:
- <p/>
-
- <pre>
- print( getResource("/com/foo/MyClass.class") );
- // Same as...
- // System.out.println(
- // getClass().getResourceAsStream("/com/foo/MyClass.class" ) );
- </pre>
- <p/>
-
- Note: This is all a lie! This command is broken and only reports the
- currently first occurence! To be fixed!
- <p/>
-
- @method which( classIdentifier | string | class )
- */
-
- bsh.help.which= "usage: which( classIdentifier | string | class )";
-
- import bsh.ClassIdentifier;
-
- which( clas )
- {
- // make the class into a name
- Class clas;
- if ( clas instanceof ClassIdentifier )
- clas = this.namespace.identifierToClass( clas );
- if ( clas instanceof Class )
- clas = clas.getName();
- String className = clas;
-
- cp = this.caller.namespace.getClassManager().getClassPath();
- print ( cp.getClassSource( className ) );
- }
-
-